using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Thaire.Investment.Domains.Transaction
{

    public class EquityTransaction
    {
        #region Properties
        // EQUITY_TRANSACTION_ID
        public virtual int EquityTransactionID { set; get; }
        // EQUITY_HEADER_ID
        public virtual int? EquityHeaderID { set; get; }
        // TRANSACTION_TYPE
        public virtual String TransactionType { set; get; }
        // REF_NO
        public virtual String RefNO { set; get; }
        // TYPEOFPAYMENT_ID
        public virtual int? TypeofpaymentID { set; get; }
        // TRADE_DATE
        public virtual DateTime? TradeDate { set; get; }
        // SETTLEMENT_DATE
        public virtual DateTime? SettlementDate { set; get; }
        // UNIT
        public virtual int? Unit { set; get; }
        // PAR_UNIT
        public virtual decimal? ParUnit { set; get; }
        // PAR_AMOUNT
        public virtual decimal? ParAmount { set; get; }
        // PRICE_UNIT
        public virtual decimal? PriceUnit { set; get; }
        // GROSS_AMOUNT
        public virtual decimal? GrossAmount { set; get; }
        // COM_RATE
        public virtual decimal? ComRate { set; get; }
        // COM_AMOUNT
        public virtual decimal? ComAmount { set; get; }
        // VAT_RATE
        public virtual decimal? VatRate { set; get; }
        // VAT_AMOUNT
        public virtual decimal? VatAmount { set; get; }
        // PURCHASE_VALUE_NET
        public virtual decimal? PurchaseValueNet { set; get; }
        // WH_TAX_RATE
        public virtual decimal? WHTaxRate { set; get; }
        // WH_TAX_AMOUNT
        public virtual decimal? WHTaxAmount { set; get; }
        // NET_SETTLE
        public virtual decimal? NetSettle { set; get; }
        // PHYSICAL_ID
        public virtual int? PhysicalID { set; get; }
        // KEEP_AT_ID
        public virtual int? KeepATID { set; get; }
        // GUARANTEE_TYPE
        public virtual String GuaranteeType { set; get; }
        // OBLIGATION_ID
        public virtual int? ObligationID { set; get; }
        // OBLIGATION_NO_ID
        public virtual int? ObligationNOID { set; get; }
        // GUARANTEE_START_DATE
        public virtual DateTime? GuaranteeStartDate { set; get; }
        // GUARANTEE_END_DATE
        public virtual DateTime? GuaranteeEndDate { set; get; }
        // CREATE_DATE
        public virtual DateTime? CreateDate { set; get; }
        // CREATE_BY
        public virtual String CreateBY { set; get; }
        // MODIFY_DATE
        public virtual DateTime? ModifyDate { set; get; }
        // MODIFY_BY
        public virtual String ModifyBY { set; get; }
        // BROKER
        public virtual String Broker { set; get; }
        // BROKER_ID
        public virtual int? BrokerID { set; get; }


        #endregion



        public override bool Equals(object obj)
        {
            if (obj == null)
                return false;
            if (obj.GetType() != typeof(EquityTransaction) && !(obj is EquityTransaction))
                return false;
            return ToString().Equals(obj.ToString());
        }

        public override int GetHashCode()
        {
            return ToString().GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}", EquityTransactionID);
        }

    }


}